package com.springboot.frame.schema;

import com.springboot.frame.key.AutoKeyGenerator;
import lombok.AllArgsConstructor;
import lombok.Data;
import javax.persistence.GenerationType;
import javax.persistence.SequenceGenerator;
import java.lang.reflect.Field;

/**
 * 主键
 *
 * @author liheng
 */
@Data
@AllArgsConstructor
public final class PrimaryKey {
  /**
   * 主键Field
   */
  private Field field;
  /**
   * 主键在java中的名称
   */
  private String propertyName;
  /**
   * 主键在db中的名称
   */
  private String columnName;
  /**
   * 主键类型
   */
  private GenerationType generationType;
  /**
   * 序列主键配置
   */
  private SequenceGenerator sequenceGenerator;
  /**
   * 自动主键生成器
   */
  private AutoKeyGenerator<?> autoKeyGenerator;
}
